<?php


namespace app\common\validate\system;


use yiqiniu\extend\validate\YqnValidate;

/**
 * 系统菜单
 * Class SystemMenu
 * @package app\common\validate\system
 */
class SystemMenuValid extends YqnValidate
{

    /**
     *  字段：'id'，    类型：'bigint',    是否为空：1,    说明：菜单ID
     *  字段：'title'，    类型：'character varying(50)',    是否为空：,    说明：菜单标题
     *  字段：'pid'，    类型：'integer',    是否为空：,    说明：父ID
     *  字段：'tree_path'，    类型：'character varying(20)',    是否为空：,    说明：层级路径
     *  字段：'depth'，    类型：'integer',    是否为空：,    说明：层级
     *  字段：'child'，    类型：'integer',    是否为空：,    说明：子菜单数
     *  字段：'order_id'，    类型：'integer',    是否为空：,    说明：排序
     *  字段：'api_page'，    类型：'character varying(50)',    是否为空：,    说明：菜单关联功能ID
     *  字段：'icon'，    类型：'character varying(50)',    是否为空：,    说明：菜单图标
     *  字段：'router_name'，    类型：'character varying(100)',    是否为空：,    说明：跌幅名称
     *  字段：'router_label'，    类型：'character varying(30)',    是否为空：,    说明：路由标签
     *  字段：'page_action'，    类型：'character varying(100)',    是否为空：,    说明：路由地址
     *  字段：'router_file'，    类型：'character varying(200)',    是否为空：,    说明：路由文件路径
     *  字段：'is_show'，    类型：'smallint',    是否为空：,    说明：显视状态(0:隐藏,1:显视)
     */

    /**
     *  验证规则
     */
    protected $rule = [
        'id' => 'require|number',
        'title' => 'require',
        'front' => 'require|array',
        'pid' => 'integer',
        'depth' => 'number',
        'child' => 'number',
        'order_id' => 'number',
        'is_show' => 'number',


    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名'    =>    '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id.require' => '菜单ID不能为空',
        'id.number' => '菜单ID只能为数字类型',
        'title.require' => '菜单标题不能为空',
        'pid.integer' => '父ID只能为数字类型',
        'depth.number' => '层级只能为数字类型',
        'child.number' => '子菜单数只能为数字类型',
        'order_id.number' => '排序只能为数字类型',
        'is_show.number' => '显视状态(0:隐藏,1:显视)只能为数字类型',

        'front.require' => '菜单权限不能为空',
        'front.array' => '菜单权限只能为数组类型',

    ];

    //验证场景
    protected $scene = [
        //新增
        'add' => ['pid', 'title', 'front'],
        // 修改
        'edit' => ['id'],
    ];
}
